package hutool.word;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author Xiongx
 * @version 1.0
 * @date 2021/5/26 16:54
 * @since JDK 1.8
 */
public class StringExcelListener extends AnalysisEventListener {
    /**
     * 自定义用于暂时存储data
     * 可以通过实例获取该值
     */
    private List<List<String>> datas = new ArrayList<>();

    @Override
    public void invoke(Object data, AnalysisContext context) {
        @SuppressWarnings("unchecked")
        Map<String, String> stringMap = (HashMap<String, String>) data;
        //数据存储到list，供批量处理，或后续自己业务逻辑处理。
        datas.add(new ArrayList<>(stringMap.values()));
        //根据自己业务做处理
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
       datas=null;
       datas=new ArrayList<>();
    }

    /**
     * 返回数据
     *
     * @return 返回读取的数据集合
     **/
    public List<List<String>> getDatas() {
        return datas;
    }

    /**
     *
     * @param datas 设置读取的数据集合
     */
    public void setDatas(List<List<String>> datas) {
        this.datas = datas;
    }

}
